Accurately estimating bandwidth is often useful during a download session for downloading content through a network (e.g., Internet). For instance, in order to provide a high quality user experience, a device downloading and playing back content needs to accurately estimate bandwidth. The existing bandwidth estimation techniques use one or combinations of various metrics, such as packet inter-arrival time, round-trip-time (“RTT”), or packet loss rate per media stream. One common technique is based on sending a number of back-to-back packets (“packet sequence”) on one side of the connection and deriving an estimate from the inter-arrival time of the received packets on the other side. However, the estimates derived by using this common technique may not be useful for downloading content for playback, due to large fluctuations in bandwidth over the course of the download session.
Also, during a download session, the connection to the content server transmitting the content may change to another content server that transmits the same content. The connection may change in the middle of the download session, between files or packets of the content, so that the device receives a portion of the content from one content server and another portion of the content from a different content server. For instance, a device downloading a movie from a server may receive different portions of the movie from different servers. The connections from the device to these servers may have vastly different bandwidths. Thus, when the device estimates the bandwidth based on an average of calculated bandwidths using one of the techniques described above, it may grossly over- or under-estimate the bandwidth because different portions of the content are received from different servers. This may degrade the quality of the user experience. For example, if the video and audio streams of the movie are provided at a bitrate higher than the available bandwidth of the connection, playback of the movie may eventually stop in order to wait for additional portions of the content to download. On the other hand, when higher bandwidth becomes available, if the content is not provided at different bitrates, the video and audio quality will not be as good as possible.